const config = require("../../../utils/config");
const utils = require("../../../utils/util");
import {http} from "../../../utils/request";
const COS = require('../../../utils/cos-wx-sdk-v5.js');
let cosWx = null;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userHead: null,
    userName: null,
    telePhone: null,
    sex: 1,
    birthday: "1971-01-01"
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      userHead: config.HEADURL()?config.HEADURL():"/images/ic-default-head.png",
      userName: config.NICKNAME(),
      telePhone: config.TEL()
    })
    this.queryUser();
  },

  /** 查询用户信息 */
  queryUser(){
    let that = this;
    http.requestData("GET","Member/GetMemberInfo",{
      openid: config.OPENID()
    }).then(res=>{
      if(res.Tag == 10 && res.Data){
        that.setData({
          sex: res.Data.Gender?res.Data.Gender:1,
          birthday: res.Data.Birthday?res.Data.Birthday: "1971-01-01"
        })
      }else{
        http.showToast(res.Message)
      }
    })
  },

  //上传修改头像
  chooseHead(){
    let that = this;
    wx.chooseMedia({
      count: 1,
      mediaType: ["image"],
      sourceType: ['album', 'camera'],
      success(res){
        wx.uploadFile({
          url: config.apiHost + "File/UploadFile?fileModule=1",
          filePath: res.tempFiles[0].tempFilePath,   
          name: 'file',
          success(ref){
            if(ref.data){
              let e = JSON.parse(ref.data)
              if(e.Tag == 10){
                that.setData({
                  userHead: config.hostUrl + e.Data
                })
              }
            }
          },
          fail(err){
            http.showToast("头像上传失败");
          }
        })
      },
      fail(e){
        console.log("上传失败")
      }
    })
  },

   /** 更改头像 */
   onChooseAvatar(e) {
    // var filePath = e.detail.avatarUrl;
    // var fileName = filePath.substr(filePath.lastIndexOf('/') + 1);
    // this.handleFileInUploading(fileName, filePath);
    // return;
    let that = this;
    wx.uploadFile({
      url: config.apiHost + "File/UploadFile?fileModule=1",
      filePath: e.detail.avatarUrl,   
      name: 'file',
      success(res){
        if(res.data){
          let e = JSON.parse(res.data)
          if(e.Tag == 10){
            // config.setLoginInfo("HEADURL",config.hostUrl + e.Data);
            that.setData({
              userHead: config.hostUrl + e.Data
            })
            // that.saveUserInfo();
          }
        }
      },
      fail(err){
        http.showToast("头像上传失败");
      }
    })
  },

  /** 昵称 */
  changeNameTap(e){
    this.setData({
      userName: e.detail.value
    })
    return;
    wx.showModal({
      title: '昵称',
      content: this.data.userName,
      editable: true,
      placeholderText: "请输入昵称",
      complete: (res) => {
        if (res.confirm) {
          if(res.content){
            config.setLoginInfo("NICKNAME",res.content);
            this.setData({
              userName: res.content
            })
            // this.saveUserInfo();
          }
        }
      }
    })
  },

  /** 手机号 */
  changeTeleTap(){
    wx.showModal({
      title: '手机号',
      content: this.data.telePhone,
      editable: true,
      placeholderText: "请输入手机号",
      complete: (res) => {
        if (res.confirm) {
          if(res.content){
            if(!utils.checkPhone(res.content)){
              return http.showToast("手机号格式错误");
            }
            config.setLoginInfo("TEL",res.content);
            this.setData({
              telePhone: res.content
            })
            // this.saveUserInfo();
          }
        }
      }
    })
  },

  /** 性别 */
  changeSexTap(){
    let that = this;
    wx.showActionSheet({
      itemList: ["男","女"],
      success(res){
        if(res.errMsg == "showActionSheet:ok"){
          that.setData({
            sex: res.tapIndex
          })
          // that.saveUserInfo();
        }
      }
    })
  },

  /** 生日 */
  changeBirthday(e){
    this.setData({
      birthday: e.detail.value
    })
    // this.saveUserInfo();
  },

  /** 保存用户信息 */
  saveUserInfo(){
    let that = this;
    if(!this.data.userName){
      return http.showToast("请输入昵称");
    }
    http.requestData("POST","WeChat/Save",{
      AppletId: config.OPENID(),
      portrait: this.data.userHead,
      nickname: this.data.userName,
      mobile: this.data.telePhone,
      gender: this.data.sex,
      birthday: this.data.birthday
    }).then(res=>{
      if(res.Tag == 10){
        config.setLoginInfo("HEADURL",that.data.userHead);
        config.setLoginInfo("NICKNAME",that.data.userName);
        http.showToast("保存成功");
      }else{
        http.showToast(res.Message);
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    /* 初始化cos */
    // cosWx = new COS({
    //   // getAuthorization: funciton() {}, // 参考上方初始化
    //   SecretId: 'AKIDQQGvNdhcNyY2QiojdR1Sq4ugHgqmaFl4',
    //   SecretKey: 'BD5j9LJMMGyb5RdbKoFZidMsTt68wY1R',
    //   SimpleUploadMethod: 'putObject', // 强烈建议，高级上传、批量上传内部对小文件做简单上传时使用putObject
    // });
  },

  /** 阿里云上传头像图片 */
  handleFileInUploading(fileName, filePath) {
    let that = this;
    cosWx.uploadFile({
        Bucket: 'huachuangshidai-1316934522', /* 填写自己的 bucket，必须字段 */
        Region: 'ap-guangzhou',     /* 存储桶所在地域，必须字段 */
        Key: fileName,              /* 存储在桶里的对象键（例如:1.jpg，a/b/test.txt，图片.jpg）支持中文，必须字段 */
        FilePath: filePath, /* 上传文件路径，必须字段 */
        SliceSize: 1024 * 1024 * 5,     /* 触发分块上传的阈值，超过5MB使用分块上传，小于5MB使用简单上传。可自行设置，非必须 */
        onProgress: function(progressData) {
            console.log("上传结果：",JSON.stringify(progressData));
        }
    }, function(err, data) {
        if (err) {
          console.log('上传失败', err);
        } else {
          console.log('上传成功', data);
          that.setData({
            userHead: "https://"+data.Location
          })
        }
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  // onShareAppMessage() {}
})